柠檬影视[V2].js 15 KB

1
  1. dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogJ+afoOaqrOW9seinhltWMl0nLCAvLyBjc3BfQXBwWXNWMgogICAgaG9zdDogJ2h0dHA6Ly9tZi5zb25nc2h1LmN5b3UvYXBpLnBocC9hcHAvJywKICAgIHVybDogJ3ZpZGVvP3RpZD1meWNsYXNzZnlmaWx0ZXImbGltaXQ9MjAmcGc9ZnlwYWdlJywKICAgIGZpbHRlcl91cmw6ICcmY2xhc3M9e3tmbC5jbGFzc319JmFyZWE9e3tmbC5hcmVhfX0mbGFuZz17e2ZsLmxhbmd9fSZsZXR0ZXI9e3tmbC5sZXR0ZXJ9fSZ5ZWFyPXt7ZmwueWVhcn19JmJ5PXt7ZmwuYnl9fScsCiAgICBmaWx0ZXI6ICdINHNJQUFBQUFBQUFBKzJZM1c0YVJ4VEgzNFZyWCt3UzU2TjVsU29YcUVLOWlPdUxSSzBVUlpac1l3Z1F4MkRMd2FIZ3I4WVk0aG9NdHVQQ1V1QmxkbmFYdCtpd1o4NEhVYjFhdFZhdXVPTjN6cDdaT1dlWTg1L1p0d2s3OGZ6SHQ0bVg2VGVKNTRtZlZsS3ZYeWVXRXF1cFg5SWFWYUhwWmJLYWYwdXQvSm9PbjF1ZG1iT3RhYVkxTTJ0SXJDMFphNld1bnpkV0Erano4ejB6RUFQNnZJMnl0MTR4UGdNMFpySGxqdW80SmdDTjJkeFZneUdPQ1VCeE5IRUdlbC8raytzVThIMEE2QXZhNTJyN3d2Z00wUHVLVi80SWZRYkVQUDM5SWM5ekJ1UnJ2T041R3FDNXRNL2Q4UW5PQllEaWNudlQ2aGVNQTZDNG93czljNHdEaUZOUGIvUFNyK3lpRDRCOG1hSzMrVHY2QUNqM1lVbGwrNWc3QVBxbWgzdmVwNGJ4R2FBeEsrK0Nnb05qQWxCKzQ0Ni8vMVdOZXBnaU1UMVJPZ3MrMHlvQ2tHOG5wMHJYNkFPZ1ZaeVU5UnJnS2dKd1ZldmU0UzVWTlFUeWJVMzhQekVUQTFTQjBhNC9yTTlOZU02MDltTDJKT3lpMUt0MFNteWllbGR0TzNFMzBWbHpXczNoRkFDbzBPZFZyMytGaFFiZ1VuVzl3WmhLRlFKTmZieWphaU9jTkFBdDBNMUg5aG1nTXI3dnNjOEF4UjAwdlBvbHhnSFFQSSsvY0p3Qlh2Uy8yR2VBNTlLVmMrbk94WDNvS3VjYzR3QW9icXVrSzZYeXVGZVlLWlBHeEMrMS9VSVZreUhtRFh6aXZaL29NTnJEeVBSRTlzNGQ0cll5SUJkOUpiWDZNeTk2Y05VT1d1dHhGNzAyMHMvajBBQmlFZGhuZ0JiMitveDlCbWdSRGticXd3RzdtY1V5Q1RlQVdGNzJHUkIvR2VFREVNc3JNZ0VRQlZTZERCZHdCcktBYjlLcFYyTFhERzdkNFNobUFaTlc4cEd4aFQrRlBjbjJwTFRiYkxlbDNXSzdKZXoyRDJUWFA0WDlHZHVmU2Z0VHRqK1Y5aWRzZnlMdGo5bitXTnFYMmI0czdaeXZMZk8xT1Y5YjVtdHp2cmJNMStaOGJabXZ4ZmxhTWwrTDg3Vmt2aGJuWmNtOExNN0xrbmxabkpmK3FmOEdMNVlTeVljNmlFVElScFQ0ZzNhcGpUdVZLYzNKbVRIRk9laW96cDF5YUFNQXhEeEEzSHZRaVRwQVJCMTBvaVF5U3REZHdTbExwQUUrSkdTOUttcVFBWHJmeHh3ZlNnd0krZVNhR1lqYldmK1BuT2F5K25sUyt4RGl5TlIvbGRvb1dZeVc0ZnVsTDFLR0sxMnRWT3J3bEk1WXlBdlora2EyRnZLemtKOUkrWG4wUVBJelhTLzR6WFg4Z3dMSTlybDFMTnFuQnRveW5VblF6ZU9XQWFDNHZiWlh4SnVKQWY3VFo3MStuLzcwSWZCbXVYRUhaZG9zSVloK05QMk1jekZBUHVkQ2RZN1FCMER2cTEyTE94MEF4ZTBmZTdkMEp3ZWd1SDdmeTVkY1o0L3Zabk1tcXNQdEgxcVFzQTRBTkVadk05all4bWlBN3lBVnV2M3JSaytURGtIMEhOMkZ1T2ZNZ0h5WFRWMVk5QUVzbXUraStTNmE3N2ZOZC9tQm1tOVVnNDM2WU9objJzRXBObTBETk9aT3l5L2pOeGtENUNzZitaZjBRUTJBTzhyOUgvQ0M4bUd3Zy9jUUF6VG15YW1xMFVZQ2lITlA4T3FPK0NnSVFPK0wrQ1FXZFNkU1hWMm1XM3dmZ1BRMWJvUlBBOVh6Yk96K2pSOFREZkM5NUZqbGEzUXZDWUh1SHM2MWFxTmdHYUF4YTBXdmlzSmpnT3ZTVTVNRHFrc0kzK04rVVJ1NURsMEZBZUxjQmY1VkdCWW45b1ZvTEVRanRtaXMvUU4xZWdSMHV4b0FBQT09JywKICAgIGRldGFpbFVybDogJy9kZXRhaWw/dm9kX2lkPWZ5aWQnLAogICAgc2VhcmNoVXJsOiAnL3NlYXJjaD90ZXh0PSoqJnBnPWZ5cGFnZScsCiAgICBzZWFyY2hhYmxlOiAyLAogICAgcXVpY2tTZWFyY2g6IDAsCiAgICBmaWx0ZXJhYmxlOiAxLC8v5piv5ZCm5ZCv55So5YiG57G7562b6YCJLAogICAgaGVhZGVyczogeydVc2VyLUFnZW50JzogJ29raHR0cC80LjEuMCd9LAogICAgdGltZW91dDogNTAwMCwKICAgIC8vIOWIhuexu+etm+mAiSAvYXBpLnBocC9hcHAvbmF2IHx8IC94Z2FwcC5waHAvdjEvbmF2IHx8IC9hcGkucGhwL3YxLnZvZC90eXBlcwogICAgY2xhc3NfbmFtZTogJ+eUteW9sSbnlLXop4bliacm57u86Im6JuWKqOa8qycsCiAgICBjbGFzc191cmw6ICcxJjImMyY0JywKICAgIHBsYXlfcGFyc2U6IHRydWUsCiAgICBsYXp5OiBganM6CiAgICAgICAgbGV0IHBsYXlfVXJsID0gJyc7CiAgICAgICAgaWYgKC9cXC5tM3U4fFxcLm1wNC8udGVzdChpbnB1dCkpIHsKICAgICAgICAgICAgaW5wdXQgPSB7CiAgICAgICAgICAgICAgICBqeDogMCwKICAgICAgICAgICAgICAgIHVybDogaW5wdXQsCiAgICAgICAgICAgICAgICBwYXJzZTogMAogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIGlmICgvLC8udGVzdChpbnB1dCkgJiYgL3VybD0vLnRlc3QoaW5wdXQpKSB7CiAgICAgICAgICAgIGlucHV0ID0gaW5wdXQuc3BsaXQoJ3VybD0nKTsKICAgICAgICAgICAgcGxheV9VcmwgPSBpbnB1dFswXS5zcGxpdCgnLCcpWzBdOwogICAgICAgICAgICBpbnB1dCA9IHsKICAgICAgICAgICAgICAgIGp4OiAwLAogICAgICAgICAgICAgICAgdXJsOiBpbnB1dFsxXSwKICAgICAgICAgICAgICAgIHBsYXlVcmw6IHBsYXlfVXJsLAogICAgICAgICAgICAgICAgcGFyc2U6IDEKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoL3VybD18aWQ9Ly50ZXN0KGlucHV0KSkgewogICAgICAgICAgICBpbnB1dCA9IHsKICAgICAgICAgICAgICAgIGp4OiAwLAogICAgICAgICAgICAgICAgdXJsOiBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpKS51cmwsCiAgICAgICAgICAgICAgICBwYXJzZTogMAogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIGlmICgveW91a3V8aXFpeWl8dlxcLnFxXFwuY29tfHBwdHZ8c29odXxsZVxcLmNvbXwxOTA1XFwuY29tfG1ndHZ8YmlsaWJpbGl8aXhpZ3VhLy50ZXN0KGlucHV0KSkgewoJCQlwbGF5X1VybCA9IC9iaWxpYmlsaS8udGVzdChpbnB1dCkgPyAnaHR0cHM6Ly9qeC54bWZsdi5jb20vP3VybD0nIDogJ2h0dHBzOi8vanguNzc3amlleGkuY29tL3BsYXllci8/dXJsPSc7IC8vIHR5cGUw55qEcGFyc2UKCQkJLy8gcGxheV9VcmwgPSAvYmlsaWJpbGkvLnRlc3QoaW5wdXQpID8gJ2h0dHBzOi8vangueG1mbHYuY29tLz91cmw9JyA6ICdqc29uOmh0dHA6Ly9wYW5kb3duLnByby9hcHAva2tkeS5waHA/dXJsPSc7IC8vIHR5cGUx55qEcGFyc2Xlj6/liqAnanNvbjon55u05o6l6Kej5p6QdXJsICjpmaTkuobonILonJznmoQn5b2x6KeGVFYn77yM5YW25a6D55qE5aOz55qG5Y+v55SoKQoJCQlpbnB1dCA9IHsKCQkJCWp4OiAwLAoJCQkJdXJsOiBpbnB1dCwKCQkJCXBsYXlVcmw6IHBsYXlfVXJsLAoJCQkJcGFyc2U6IDEsCgkJCQloZWFkZXI6IEpTT04uc3RyaW5naWZ5KHsKCQkJCQkndXNlci1hZ2VudCc6ICdNb3ppbGxhLzUuMCcsCgkJCQl9KSwKCQkJfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlucHV0CiAgICAgICAgfQogICAgYCwKICAgIGxpbWl0OiA2LAogICAgLy8g5Zu+54mH5p2l5rqQOidAUmVmZXJlcj1odHRwczovL2FwaS5kb3ViYW4uY29tL0BVc2VyLUFnZW50PU1vemlsbGEvNS4wJTIwKFdpbmRvd3MlMjBOVCUyMDEwLjA7JTIwV2luNjQ7JTIweDY0KSUyMEFwcGxlV2ViS2l0LzUzNy4zNiUyMChLSFRNTCwlMjBsaWtlJTIwR2Vja28pJTIwQ2hyb21lLzExMy4wLjAuMCUyMFNhZmFyaS81MzcuMzYnLAogICAg5o6o6I2QOiBganM6CiAgICAgICAgbGV0IGQgPSBbXTsKICAgICAgICBsZXQganNvbmRhdGEgPSBbXTsKICAgICAgICBsZXQgdmlkZW9MaXN0ID0gW107CiAgICAgICAgaWYgKC92MVxcLnZvZC8udGVzdChIT1NUKSkgewogICAgICAgICAgICBpZihIT1NULmVuZHNXaXRoKCcvJykpewogICAgICAgICAgICAgICAganNvbmRhdGEgPSBKU09OLnBhcnNlKHJlcXVlc3QoSE9TVCArICd2b2RQaGJBbGwnKSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBqc29uZGF0YSA9IEpTT04ucGFyc2UocmVxdWVzdChIT1NUICsgJy92b2RQaGJBbGwnKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmlkZW9MaXN0ID0ganNvbmRhdGEuZGF0YS5saXN0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmKEhPU1QuZW5kc1dpdGgoJy8nKSl7CiAgICAgICAgICAgICAgICBqc29uZGF0YSA9IEpTT04ucGFyc2UocmVxdWVzdChIT1NUICsgJ2luZGV4X3ZpZGVvJykpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAganNvbmRhdGEgPSBKU09OLnBhcnNlKHJlcXVlc3QoSE9TVCArICcvaW5kZXhfdmlkZW8nKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmlkZW9MaXN0ID0gL3hnYXBwLy50ZXN0KEhPU1QpID8ganNvbmRhdGEuZGF0YSA6IGpzb25kYXRhLmxpc3Q7CiAgICAgICAgfQogICAgICAgIC8vIGxvZygndmlkZW9MaXN0ID09PT09PT09PT4gJytzdHJpbmdpZnkodmlkZW9MaXN0KSk7CiAgICAgICAgdmlkZW9MaXN0LmZvckVhY2goKGl0LGlkZXgpID0+IHsKICAgICAgICAgICAgbGV0IHZsaXN0ID0gL3YxXFwudm9kLy50ZXN0KEhPU1QpID8gdmlkZW9MaXN0W2lkZXhdLnZvZF9saXN0IDogdmlkZW9MaXN0W2lkZXhdLnZsaXN0IDsKICAgICAgICAgICAgdmxpc3QuZm9yRWFjaChpdCA9PiB7CiAgICAgICAgICAgICAgICBkLnB1c2goewogICAgICAgICAgICAgICAgICAgIHVybDppdC52b2RfaWQsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6aXQudm9kX25hbWUsCiAgICAgICAgICAgICAgICAgICAgaW1nOml0LnZvZF9waWMuc3RhcnRzV2l0aCgnaHR0cCcpID8gaXQudm9kX3BpYyA6IGl0LnZvZF9waWMuc3RhcnRzV2l0aCgnLy8nKSA/ICdodHRwczonICsgaXQudm9kX3BpYyA6IGl0LnZvZF9waWMuc3RhcnRzV2l0aCgnLycpID8gZ2V0SG9tZShIT1NUKSArIGl0LnZvZF9waWMgOiBnZXRIb21lKEhPU1QpICsgJy8nICsgaXQudm9kX3BpYywKICAgICAgICAgICAgICAgICAgICBkZXNjOml0LnZvZF9yZW1hcmtzLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICAgIHNldFJlc3VsdChkKTsKICAgIGAsCiAgICDkuIDnuqc6IGBqczoKICAgICAgICBsZXQgZCA9IFtdOwogICAgICAgIGxldCBqc29uZGF0YSA9IFtdOwogICAgICAgIGxldCB2aWRlb0xpc3QgPSBbXTsKICAgICAgICBpZiAoL3YxXFwudm9kLy50ZXN0KEhPU1QpKSB7CiAgICAgICAgICAgIGlucHV0ID0gaW5wdXQucmVwbGFjZSgndmlkZW8nLCd2MS52b2QnKS5yZXBsYWNlKCd0aWQnLCd0eXBlJykucmVwbGFjZSgncGc9JywncGFnZT0nKTsKICAgICAgICAgICAganNvbmRhdGEgPSBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpKTsKICAgICAgICAgICAgdmlkZW9MaXN0ID0ganNvbmRhdGEuZGF0YS5saXN0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlucHV0ID0gSE9TVCArICcvJysgaW5wdXQuc3BsaXQoJy8nKVs0XTsKICAgICAgICAgICAganNvbmRhdGEgPSBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpKTsKICAgICAgICAgICAgdmlkZW9MaXN0ID0ganNvbmRhdGEubGlzdCB8fCBqc29uZGF0YS5kYXRhOwogICAgICAgIH0KICAgICAgICAvLyBsb2coJ3ZpZGVvTGlzdCA9PT09PT09PT0+ICcrc3RyaW5naWZ5KHZpZGVvTGlzdCkpOwogICAgICAgIHZpZGVvTGlzdC5mb3JFYWNoKGl0ID0+IHsKICAgICAgICAgICAgZC5wdXNoKHsKICAgICAgICAgICAgICAgIHVybDppdC52b2RfaWQsCiAgICAgICAgICAgICAgICB0aXRsZTppdC52b2RfbmFtZSwKICAgICAgICAgICAgICAgIGltZzppdC52b2RfcGljLnN0YXJ0c1dpdGgoJ2h0dHAnKSA/IGl0LnZvZF9waWMgOiBpdC52b2RfcGljLnN0YXJ0c1dpdGgoJy8vJykgPyAnaHR0cHM6JyArIGl0LnZvZF9waWMgOiBpdC52b2RfcGljLnN0YXJ0c1dpdGgoJy8nKSA/IGdldEhvbWUoSE9TVCkgKyBpdC52b2RfcGljIDogZ2V0SG9tZShIT1NUKSArICcvJyArIGl0LnZvZF9waWMsCiAgICAgICAgICAgICAgICBkZXNjOml0LnZvZF9yZW1hcmtzLAogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICBzZXRSZXN1bHQoZCk7CiAgICBgLAogICAg5LqM57qnOiBganM6IAoJCWlmICgvdjFcXC52b2QvLnRlc3QoSE9TVCkpIHsKCQkJaW5wdXQgPSBIT1NUICsgJy8nKyBpbnB1dC5zcGxpdCgnLycpWzNdOwoJCX0gZWxzZSB7CgkJCWlucHV0ID0gSE9TVCArICcvJysgaW5wdXQuc3BsaXQoJy8nKVszXS5yZXBsYWNlKCdkZXRhaWwnLCd2aWRlb19kZXRhaWwnKS5yZXBsYWNlKCd2b2RfaWQnLCdpZCcpOwoJCX0KCQl0cnkgewoJCQlsZXQgaHRtbCA9IHJlcXVlc3QoaW5wdXQpOwoJCQlodG1sID0gSlNPTi5wYXJzZShodG1sKTsKCQkJbGV0IG5vZGUgPSAveGdhcHAvLnRlc3QoSE9TVCkgPyBodG1sLmRhdGEudm9kX2luZm8gOiBodG1sLmRhdGE7CgkJCVZPRCA9IHsKCQkJCXZvZF9pZDogbm9kZS52b2RfaWQsCgkJCQl2b2RfbmFtZTogbm9kZS52b2RfbmFtZSwKCQkJCXZvZF9waWM6IG5vZGUudm9kX3BpYywKCQkJCXR5cGVfbmFtZTogbm9kZS52b2RfY2xhc3MsCgkJCQl2b2RfeWVhcjogbm9kZS52b2RfeWVhciwKCQkJCXZvZF9hcmVhOiBub2RlLnZvZF9hcmVhLAoJCQkJdm9kX3JlbWFya3M6IG5vZGUudm9kX3JlbWFya3MsCgkJCQl2b2RfYWN0b3I6IG5vZGUudm9kX2FjdG9yLAoJCQkJdm9kX2RpcmVjdG9yOiBub2RlLnZvZF9kaXJlY3RvciwKCQkJCXZvZF9jb250ZW50OiBub2RlLnZvZF9jb250ZW50LnN0cmlwKCkKCQkJfTsKCQkJaWYgKHR5cGVvZiBwbGF5X3VybCA9PT0gJ3VuZGVmaW5lZCcpIHsKCQkJCXZhciBwbGF5X3VybCA9ICcnCgkJCX0KICAgICAgICAgICAgdmFyIG5hbWUgPSB7CiAgICAgICAgICAgICAgICAnYmZ6eW0zdTgnOiAn5pq06aOOJywKICAgICAgICAgICAgICAgICcxMDgwenlrJzogJ+S8mOi0qCcsCiAgICAgICAgICAgICAgICAna3VhaWthbic6ICflv6vnnIsnLAogICAgICAgICAgICAgICAgJ2x6bTN1OCc6ICfph4/lrZAnLAogICAgICAgICAgICAgICAgJ2ZmbTN1OCc6ICfpnZ7lh6EnLAogICAgICAgICAgICAgICAgJ2hhaXdhaWthbic6ICfmtbflpJbnnIsnLAogICAgICAgICAgICAgICAgJ2dzbTN1OCc6ICflhYnpgJ8nLAogICAgICAgICAgICAgICAgJ3p1aWRhbTN1OCc6ICfmnIDlpKcnLAogICAgICAgICAgICAgICAgJ2JqbTN1OCc6ICflhavmiJInLAogICAgICAgICAgICAgICAgJ3NubTN1OCc6ICfntKLlsLwnLAogICAgICAgICAgICAgICAgJ3dvbG9uZyc6ICfljafpvpknLAogICAgICAgICAgICAgICAgJ3hsbTN1OCc6ICfmlrDmtaonLAogICAgICAgICAgICAgICAgJ3lobTN1OCc6ICfmqLHoirEnLAogICAgICAgICAgICAgICAgJ3RrbTN1OCc6ICflpKnnqbonLAogICAgICAgICAgICAgICAgJ2pzbTN1OCc6ICfmnoHpgJ8nLAogICAgICAgICAgICAgICAgJ3dqbTN1OCc6ICfml6DlsL0nLAogICAgICAgICAgICAgICAgJ3NkbTN1OCc6ICfpl6rnlLUnLAogICAgICAgICAgICAgICAgJ2tjbTN1OCc6ICflv6vovaYnLAogICAgICAgICAgICAgICAgJ2ppbnlpbmdtM3U4JzogJ+mHkem5sCcsCiAgICAgICAgICAgICAgICAnZnNtM3U4JzogJ+mjnumAnycsCiAgICAgICAgICAgICAgICAndHBtM3U4JzogJ+a3mOeJhycsCiAgICAgICAgICAgICAgICAnbGVtM3U4JzogJ+mxvOS5kCcsCiAgICAgICAgICAgICAgICAnZGJtM3U4JzogJ+eZvuW6picsCiAgICAgICAgICAgICAgICAndG9tbTN1OCc6ICfnlarojIQnLAogICAgICAgICAgICAgICAgJ3VrbTN1OCc6ICdV6YW3JywKICAgICAgICAgICAgICAgICdpa20zdTgnOiAn54ix5Z2kJywKICAgICAgICAgICAgICAgICdobnp5bTN1OCc6ICfnuqLniZvotYTmupAnLAogICAgICAgICAgICAgICAgJ2hubTN1OCc6ICfnuqLniZsnLAogICAgICAgICAgICAgICAgJzY4enlfbTN1OCc6ICc2OCcsCiAgICAgICAgICAgICAgICAna2RtM3U4JzogJ+mFt+eCuScsCiAgICAgICAgICAgICAgICAnYmR4bTN1OCc6ICfljJfmlpfmmJ8nLAogICAgICAgICAgICAgICAgJ3FobTN1OCc6ICflpYfomY4nLAogICAgICAgICAgICAgICAgJ2hobTN1OCc6ICfosarljY4nLAogICAgICAgICAgICAgICAgJ2tibTN1OCc6ICflv6vmkq0nCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGxldCBlcGlzb2RlcyA9IC92MVxcLnZvZC8udGVzdChIT1NUKT9ub2RlLnZvZF9wbGF5X2xpc3Q6bm9kZS52b2RfdXJsX3dpdGhfcGxheWVyOwoJCQlpZiAoZXBpc29kZXMgIT0gJycpIHsKCQkJCWxldCBwbGF5TWFwID0ge307CgkJCQlsZXQgYXJyID0gW107CgkJCQllcGlzb2Rlcy5mb3JFYWNoKGVwID0+IHsKCQkJCQlsZXQgZnJvbSA9IFtdOwoJCQkJCWlmICgvdjFcXC52b2QvLnRlc3QoSE9TVCkpIHsKCQkJCQkJZnJvbSA9IGVwLnBsYXllcl9pbmZvLmZyb218fGVwLnBsYXllcl9pbmZvLnNob3d8fGVwLmZyb218fGVwLnNob3c7CgkJCQkJfSBlbHNlIHsKCQkJCQkJZnJvbSA9IGVwLmNvZGV8fGVwLm5hbWU7CgkJCQkJfQoJCQkJCWlmICghcGxheU1hcC5oYXNPd25Qcm9wZXJ0eShmcm9tKSkgewoJCQkJCQlwbGF5TWFwW2Zyb21dID0gW10KCQkJCQl9CgkJCQkJLy8gbGV0IHBhcnNlX2FwaSA9ICcnOwoJCQkJCS8vIGlmICgvdjFcXC52b2QvLnRlc3QoSE9TVCkpIHsKCQkJCQkvLyAJcGFyc2VfYXBpID0gZXAucGxheWVyX2luZm8ucGFyc2UgIT0gbnVsbCA/IGVwLnBsYXllcl9pbmZvLnBhcnNlIDogZXAucGxheWVyX2luZm8ucGFyc2UyOwoJCQkJCS8vIAkvLyBwYXJzZV9hcGkgPSAvLC8udGVzdChwYXJzZV9hcGkpID8gcGFyc2VfYXBpLnNwbGl0KCcsJylbMV0gOiBwYXJzZV9hcGk7CgkJCQkJLy8gfSBlbHNlIHsKCQkJCQkvLyAJcGFyc2VfYXBpID0gZXAucGFyc2VfYXBpOwoJCQkJCS8vIH0KCQkJCQkvLyBsb2coJ3BhcnNlX2FwaSA9PT09PT09PT0+ICcrcGFyc2VfYXBpKTsKCQkJCQkvLyBpZiAocGFyc2VfYXBpICE9IG51bGwgJiYgIS9cXC5tM3U4fFxcLm1wNC8udGVzdChlcC51cmwpKSB7CgkJCQkJLy8gCXBhcnNlX2FwaSA9IHBhcnNlX2FwaS5yZXBsYWNlQWxsKCcuLicsJy4nKSA7CgkJCQkJLy8gCWVwLnVybCA9IGVwLnVybC5yZXBsYWNlQWxsKCckJywnJCcrcGFyc2VfYXBpKTsKCQkJCQkvLyB9CgkJCQkJaWYgKGZyb20gIT0gbnVsbCkgcGxheU1hcFtmcm9tXS5wdXNoKGVwLnVybCkKCQkJCX0pOwoJCQkJZm9yICh2YXIga2V5IGluIHBsYXlNYXApIHsKCQkJCQlpZiAoJ2JmenltM3U4JyA9PSBrZXkpIHsKCQkJCQkJYXJyLnB1c2goewoJCQkJCQkJZmxhZzogbmFtZVtrZXldLAoJCQkJCQkJdXJsOiBwbGF5TWFwW2tleV0sCgkJCQkJCQlzb3J0OiAxCgkJCQkJCX0pCgkJCQkJfSBlbHNlIGlmICgnMTA4MHp5aycgPT0ga2V5KSB7CgkJCQkJCWFyci5wdXNoKHsKCQkJCQkJCWZsYWc6IG5hbWVba2V5XSwKCQkJCQkJCXVybDogcGxheU1hcFtrZXldLAoJCQkJCQkJc29ydDogMgoJCQkJCQl9KQoJCQkJCX0gZWxzZSBpZiAoJ2t1YWlrYW4nID09IGtleSkgewoJCQkJCQlhcnIucHVzaCh7CgkJCQkJCQlmbGFnOiBuYW1lW2tleV0sCgkJCQkJCQl1cmw6IHBsYXlNYXBba2V5XSwKCQkJCQkJCXNvcnQ6IDMKCQkJCQkJfSkKCQkJCQl9IGVsc2UgaWYgKCdsem0zdTgnID09IGtleSkgewoJCQkJCQlhcnIucHVzaCh7CgkJCQkJCQlmbGFnOiBuYW1lW2tleV0sCgkJCQkJCQl1cmw6IHBsYXlNYXBba2V5XSwKCQkJCQkJCXNvcnQ6IDQKCQkJCQkJfSkKCQkJCQl9IGVsc2UgaWYgKCdmZm0zdTgnID09IGtleSkgewoJCQkJCQlhcnIucHVzaCh7CgkJCQkJCQlmbGFnOiBuYW1lW2tleV0sCgkJCQkJCQl1cmw6IHBsYXlNYXBba2V5XSwKCQkJCQkJCXNvcnQ6IDUKCQkJCQkJfSkKCQkJCQl9IGVsc2UgaWYgKCdzbm0zdTgnID09IGtleSkgewoJCQkJCQlhcnIucHVzaCh7CgkJCQkJCQlmbGFnOiBuYW1lW2tleV0sCgkJCQkJCQl1cmw6IHBsYXlNYXBba2V5XSwKCQkJCQkJCXNvcnQ6IDYKCQkJCQkJfSkKCQkJCQl9IGVsc2UgaWYgKCdxaG0zdTgnID09IGtleSkgewoJCQkJCQlhcnIucHVzaCh7CgkJCQkJCQlmbGFnOiBuYW1lW2tleV0sCgkJCQkJCQl1cmw6IHBsYXlNYXBba2V5XSwKCQkJCQkJCXNvcnQ6IDcKCQkJCQkJfSkKCQkJCQl9IGVsc2UgewoJCQkJCQlhcnIucHVzaCh7CgkJCQkJCQlmbGFnOiBuYW1lW2tleV0gPyBuYW1lW2tleV0gOiBrZXksCgkJCQkJCQl1cmw6IHBsYXlNYXBba2V5XSwKCQkJCQkJCXNvcnQ6IDgKCQkJCQkJfSkKCQkJCQl9CgkJCQl9CgkJCQlhcnIuc29ydCgoYSwgYikgPT4gYS5zb3J0IC0gYi5zb3J0KTsKCQkJCWxldCBwbGF5RnJvbSA9IFtdOwoJCQkJbGV0IHBsYXlMaXN0ID0gW107CgkJCQlhcnIubWFwKHZhbCA9PiB7CgkJCQkJaWYgKCEvdW5kZWZpbmVkLy50ZXN0KHZhbC5mbGFnKSkgewoJCQkJCQlwbGF5RnJvbS5wdXNoKHZhbC5mbGFnKTsKCQkJCQkJcGxheUxpc3QucHVzaCh2YWwudXJsKTsKCQkJCQl9CgkJCQl9KQoJCQkJVk9ELnZvZF9wbGF5X2Zyb20gPSBwbGF5RnJvbS5qb2luKCckJCQnKTsKCQkJCVZPRC52b2RfcGxheV91cmwgPSBwbGF5TGlzdC5qb2luKCckJCQnKTsKCQkJfSBlbHNlIHsKCQkJCVZPRC52b2RfcGxheV9mcm9tID0gbm9kZS52b2RfcGxheV9mcm9tOwoJCQkJVk9ELnZvZF9wbGF5X3VybCA9IG5vZGUudm9kX3BsYXlfdXJsOwoJCQl9CgkJfSBjYXRjaCAoZSkgewoJCQlsb2coIuiOt+WPluS6jOe6p+ivpuaDhemhteWPkeeUn+mUmeivrzoiICsgZS5tZXNzYWdlKTsKCQl9CglgLAogICAg5pCc57SiOiBganM6CgkJbGV0IGQgPSBbXTsKCQlsZXQganNvbmRhdGEgPSBbXTsKCQlsZXQgdmlkZW9MaXN0ID0gW107CgkJaWYgKC92MVxcLnZvZC8udGVzdChIT1NUKSkgewoJCQlpbnB1dCA9IChIT1NUICsgJy8nKyBpbnB1dC5zcGxpdCgnLycpWzNdKS5yZXBsYWNlKCcvc2VhcmNoJywnJykucmVwbGFjZSgndGV4dD0nLCd3ZD0nKS5yZXBsYWNlKCdwZz0nLCdwYWdlPScpOwoJCQlqc29uZGF0YSA9IEpTT04ucGFyc2UocmVxdWVzdChpbnB1dCkpOwoJCQl2aWRlb0xpc3QgPSBqc29uZGF0YS5kYXRhLmxpc3Q7CgkJfSBlbHNlIHsKCQkJaW5wdXQgPSBIT1NUICsgJy8nKyBpbnB1dC5zcGxpdCgnLycpWzNdCgkJCWpzb25kYXRhID0gSlNPTi5wYXJzZShyZXF1ZXN0KGlucHV0KSk7CgkJCXZpZGVvTGlzdCA9IGpzb25kYXRhLmxpc3QgfHwganNvbmRhdGEuZGF0YTsKCQl9CgkJLy8gbG9nKCd2aWRlb0xpc3QgPT09PT09PT09PiAnK3N0cmluZ2lmeSh2aWRlb0xpc3QpKTsKCQl2aWRlb0xpc3QuZm9yRWFjaChpdCA9PiB7CgkJCWQucHVzaCh7CgkJCQl1cmw6aXQudm9kX2lkLAoJCQkJdGl0bGU6aXQudm9kX25hbWUsCgkJCQlpbWc6aXQudm9kX3BpYy5zdGFydHNXaXRoKCdodHRwJykgPyBpdC52b2RfcGljIDogaXQudm9kX3BpYy5zdGFydHNXaXRoKCcvLycpID8gJ2h0dHBzOicgKyBpdC52b2RfcGljIDogaXQudm9kX3BpYy5zdGFydHNXaXRoKCcvJykgPyBnZXRIb21lKEhPU1QpICsgaXQudm9kX3BpYyA6IGdldEhvbWUoSE9TVCkgKyAnLycgKyBpdC52b2RfcGljLAoJCQkJZGVzYzppdC52b2RfcmVtYXJrcywKCQkJfSk7CgkJfSk7CgkJc2V0UmVzdWx0KGQpOwoJYCwKfQ==